// 设置Cookie的函数，这里简单实现，可根据需求扩展更多参数，比如设置过期时间等
function setCookie(name, value, expires = "", path = "/") {
	let cookieStr = `${name}=${value}`;
	if (expires) {
		cookieStr += `;expires=${expires}`;
	}
	cookieStr += `;path=${path}`;
	document.cookie = cookieStr;
}

// 获取指定名称Cookie值的函数
function getCookie(name) {
	const cookies = document.cookie.split(';');
	for (let i = 0; i < cookies.length; i++) {
		const cookie = cookies[i].trim();
		if (cookie.startsWith(name + '=')) {
			return cookie.substring(name.length + 1);
		}
	}
	return null;
}

$(document).ready(function() {
	// 页面加载时，获取登录状态Cookie判断是否已登录，此处可根据实际情况调整Cookie名称等
	const isLoggedIn = getCookie('isLoggedIn');
	if (isLoggedIn === 'true') {
		const storedUserInfo = sessionStorage.getItem('userInfo');
		if (storedUserInfo) {
			const userInfo = JSON.parse(storedUserInfo);
			// 进行已登录后的相关操作，比如显示代表已登录的元素等
			$('.dlxx').show();
			$('span:contains("登录")').hide();
			$('span:contains("注册")').hide();
			// 显示退出字样，这里假设 #tcdl 元素用于显示退出相关操作
			$('#tcdl').text('退出');
			// 还可以在这里根据用户信息进行更多页面个性化展示，比如显示欢迎语等，此处可根据存储的用户信息结构添加更多展示逻辑
			console.log('欢迎回来' + userInfo.username);
		}
	} else {
		// 未登录时隐藏.dlxx元素，显示登录和注册相关文本，且 #tcdl 元素文本设为空（或根据需求设置其他合适文本）
		$('.dlxx').hide();
		$('span:contains("登录")').show();
		$('span:contains("注册")').show();
		$('#tcdl').text('');
	}

	$('.login-form').on('submit', function(e) {
		e.preventDefault();

		// 获取表单数据
		const workId = $('input[type="text"]').val();
		const password = $('input[type="password"]').val();
		const remember = $('#remember').prop('checked');

		// 表单验证
		if (!workId) {
			alert('请输入工号');
			return;
		}
		if (!password) {
			alert('请输入密码');
			return;
		}

		// 登录按钮loading状态
		const $loginBtn = $('.login-btn');
		$loginBtn.prop('disabled', true).text('登录中...');

		// 发送登录请求
		$.ajax({
			url: 'http://10.2.1.17:8099/EXOnline/font/Login',
			type: 'POST',
			xhrFields: {
				withCredentials: true
			},
			crossDomain: true,
			headers: {
				// 添加这一行，用于带上包含token的Authorization头部
				'Authorization': 'Bearer ' + localStorage.getItem('token')
			},
			data: {
				method: 'login',
				phone: workId,
				password: password
			},
			success: function(response) {
				console.log(123);
				if (response.msg) {
					console.log(response);
					// 登录成功，设置登录状态的Cookie，这里简单设置一个名为"isLoggedIn"的Cookie，值为"true"表示已登录，可根据实际需求调整Cookie设置逻辑（如添加过期时间等）
					setCookie('isLoggedIn', 'true');
					if (response.token) {
						localStorage.setItem('token', response.token);
					}

					// 跳转到首页
					
					window.location.href = 'classroomsystem.html';
				} else {
					// 登录失败 
					alert(response.message || '登录失败，请检查工号和密码');
				}
			},
			error: function(xhr, status, error) {
				// 处理错误
				console.log('Login Error:', error);
				alert('登录失败，请稍后重试');
			},
			complete: function() {
				// 恢复登录按钮状态
				$loginBtn.prop('disabled', false).text('登录');
			}
		});
	});

	// 记住密码功能
	if (localStorage.getItem('rememberedWorkId')) {
		$('input[type="text"]').val(localStorage.getItem('rememberedWorkId'));
		$('input[type="password"]').val(localStorage.getItem('rememberedPassword'));
		$('#remember').prop('checked', true);
	}

	// 保存记住的账号密码
	function saveRememberedCredentials() {
		const workId = $('input[type="text"]').val();
		const password = $('input[type="password"]').val();
		const remember = $('#remember').prop('checked');

		if (remember) {
			localStorage.setItem('rememberedWorkId', workId);
			localStorage.setItem('rememberedPassword', password);
		} else {
			localStorage.removeItem('rememberedWorkId');
			localStorage.removeItem('rememberedPassword');
		}
	}

	// 监听记住密码复选框变化
	$('#remember').on('change', function() {
		if (!$(this).prop('checked')) {
			localStorage.removeItem('rememberedWorkId');
			localStorage.removeItem('rememberedPassword');
		}
	});

	// 添加退出登录功能，点击#tcdl元素时执行退出登录操作
	$('#tcdl').click(function() {
		// 清除登录状态的Cookie
		document.cookie = "isLoggedIn=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
		// 清除存储在sessionStorage中的用户信息
		sessionStorage.removeItem('userInfo');
		// 隐藏.dlxx元素
		$('.dlxx').hide();
		// 显示登录和注册相关文本
		$('span:contains("登录")').show();
		$('span:contains("注册")').show();
		// 清空 #tcdl 元素文本（可根据需求调整显示内容）
		$('#tcdl').text('');
	});
});